// 包含应用中所有的请求接口函数

import ajax from "./ajax";
import jsonp from "jsonp"; // axios 不能发送jsonp请求
import { message } from "antd";

const BASE = 'http://localhost:3001';
// 请求登录
export function reqLogin(username, password) {
    // Send a POST request
    return ajax({
        method: 'post',
        url: '/login',
        data: {
            username,
            password
        }
    });
}

// // mock login
// const name = 'admin';
// const pwd = 'admin';
// // 这里的ajax返回的是promise
// reqLogin(name,pwd).then(response => {
//     console.log('请求成功了', response);
// }, error => {
//     console.log('请求失败了', error); // 由于我们在响应拦截器里处理掉了异常的情况，并中断了Promise链，所以这里的error永远不会发生
// });


/* jsonp request */
export const reqWeather = (city) => {
    return new Promise((resolve, reject) => {
        const url = `http://api.map.baidu.com/telematics/v3/weather?location=${city}&output=json&ak=3p49MVra6urFRGOT9s8UBWr2`;
        jsonp(url, {}, (err, data) => {
            if (!err && data.error === 0) {
                const { dayPictureUrl, weather } = data.results[0].weather_data[0];
                // console.log(data.results[0].weather_data[0]);
                resolve({ dayPictureUrl, weather });
            } else {
                message.error('获取天气信息失败');
            }
        });
    });
}

// https://github.com/axios/axios
/* 获取商品列表 */
export const reqProducts = (pageNumber, pageSize) => {
    return ajax.get(BASE + '/products', {
        params: {
            pageNumber,
            pageSize,
        }
      });
}
